package com.itheima.reggie.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.reggie.dto.SetmealDto;
import com.itheima.reggie.pojo.Setmeal;

public interface SetmealService extends IService<Setmeal> {

    //扩展方法：保存套餐数据，以及套餐菜品关联数据
    void saveWithDish(SetmealDto setmealDto);

    //扩展方法：分页条件查询（套餐信息，分类名称）
    Page<SetmealDto> pageSetmealDto(Integer page, Integer pageSize, String name);

    //扩展方法：要求1：有套餐正在售卖，不能删除 要求2：删除套餐，删除套餐菜品关联数据
    void deleteByIds(Long[] ids);

    //扩展方法：根据id查询套餐详情（包含菜品信息）
    SetmealDto getByIdWithDish(Long id);

    //扩展方法：更新套餐数据，以及套餐菜品关联数据
    void updateWithDish(SetmealDto setmealDto);
}
